﻿namespace Rsdn.Shortcuts
{
    using System.Windows.Forms;

    /// <summary>
    ///   Класс с полным описанием конкретного метода
    ///   к которому привязана горячая клавиша.
    /// </summary>
    public class TextShortcut
    {
        #region  Class Variables

        private Shortcut _shortcut;

        private string longName;
        private string methodName;
        private string shortName;


        #endregion

        #region Constructors

        public TextShortcut(string methodName, Shortcut shortcut)
            : this(methodName, string.Empty, shortcut)
        {
        }

        public TextShortcut(string methodName, string shortName, Shortcut shortcut)
            : this(methodName, shortName, string.Empty, shortcut)
        {
        }

        public TextShortcut(string methodName, string shortName, string longName, Shortcut shortcut)
        {
            MethodName = methodName;
            _shortcut = shortcut;
            ShortName = shortName;
            LongName = longName;
        }

        #endregion

        #region Properties


        public Shortcut Shortcut
        {
            get { return _shortcut; }
            set { _shortcut = value; }
        }

        public string MethodName
        {
            get { return methodName; }
            set { methodName = value; }
        }

        public string ShortName
        {
            get { return shortName; }
            set { shortName = value; }
        }

        public string LongName
        {
            get { return longName; }
            set { longName = value; }
        }

        #endregion

        #region Overrides

        public override string ToString()
        {
            return MethodName + " " + _shortcut;
        }

        #endregion
    }
}